NEXTSTEP for Intel Processors 

Title: EIDE/ATAPI Support in NEXTSTEP 3.3
Entry Number: 1933
Last Updated: <<Date April 4, 1996>>

Overview

The EIDE driver version 3.31 for NEXTSTEP 3.3 supports ATA-1 and ATA-2 (X3T10 documents 791D and 984D respectively) conformant IDE hard disks and ATAPI compliant (SFF 8020 revision1.2) CD-ROMs. This driver is available from NextAnswers as document 1838 (EIDE Driver.pkg).

The EIDE/ATAPI driver can be used in various modes (or personalities). These are the options available while installing NEXTSTEP or in Configure's Add Devices Panel.

1. EIDE and ATAPI Device
- full EIDE/ATAPI support
2. EIDE and ATAPI Device Controller for PC Tech RZ1000 PCI
- same as above but is optimized for RZ1000 PCI interface
3. Intel GX/Professional IDE Disk Controller
- only for Intel GX/Professional machines. Supports host-master DMA on 
these systems.
4. IDE Disk Controller
- provided for compatibility reasons

The EIDE/ATAPI drivers (1 and 2 in the list above) get the disk geometry from the drive itself. The IDE Disk drivers (3 and 4 in the list above) get the geometry from the BIOS instead. If you are installing NEXTSTEP you should always use the EIDE/ATAPI device drivers. 

Features of the driver:

7 Supports PIO mode 0 to mode 4 hard disks
7 Disks of size up to 8.4GB is supported by the driver
7 Primary and secondary controllers can be used
7 Supports up to two devices on each controller
7 Support for Logical Block Access (LBA) mode
7 Support for PCI IDE (32-bit data access, faster transfers)
7 Support for ATAPI CD-ROMs.

Configuring Hardware

The primary controller should be configured for port address 0x1f0-0x1f7 and irq 14. The secondary controller should use port address 0x170-0x177 and irq 15. You must enable primary and secondary (if applicable) controllers in your system BIOS. 

IDE/EIDE Disks 

ATA-1 and ATA-2 disks are supported by the driver. The driver uses the disk at maximum possible data rate. The IDE controller must support IOCHRDY (IO Channel Ready) line for a disk to be be used in Mode 3 or Mode 4. If your controller supports this line you should enable it in Configure. The driver uses the disks in multiple sector mode for better performance but you can disable this in Configure if desired. The EIDE/ATAPI drivers use LBA mode for disk access if the disk supports it.

ATAPI CD-ROM

ATAPI devices appear to the system as SCSI devices. Hence it is possible to install NEXTSTEP using an ATAPI CD-ROM and use it with other applications like CDPlayer.

If you are installing NEXTSTEP using an ATAPI CD-ROM you must connect the IDE hard disk and CD-ROM to the primary controller. The hard disk should be configured as master or as master with slave present (if this option is available). The ATAPI CD-ROM should be configured as slave. This is usually accomplished by changing a jumper on the device. 

After this you can proceed with NEXTSTEP installation in the usual way. See Installing and Configuring NEXTSTEP Release 3.3 for Intel Processors and NeXT Computers for details.

When prompted to select the SCSI adapter connected to your CD-ROM drive, select the Adaptec 154x SCSI driver to continue. When prompted for the type of disk controller the hard drive is connected to, select the EIDE and ATAPI driver. Once NEXTSTEP is installed you should remove the Adaptec154x driver with Configure.app. Requiring a SCSI driver to be loaded is a bug and will be fixed in a later version of NEXTSTEP.

Upgrading from an older IDE driver

The version of the IDE driver that shipped with NEXTSTEP 3.3 is version 3.30. The new EIDE driver is version 3.31.

1. If you are currently using the "IDE Disk Driver " you should upgrade to "IDE Disk Driver ". 
2. If you are using the "IDE Disk Controller for large disks (> 504MB)" you should upgrade to EIDE/ATAPI driver.
3. If you are running with the special driver designed for Intel GX/Professional, you should use the new driver of the same name.

Bugs and Warnings

1. Disk drives and ATAPI CD-ROMs attached to the secondary controller are not available while installing NEXTSTEP due to system software limitations. However once NEXTSTEP is installed the secondary controller can be configured. You can do this by running Configure and adding the same driver again (set port address to 0x170-0x177 and irq to 15).

2. Due to a bug in Configure, primary and secondary ports must have the same personality of the driver. For example, you can not use IDE driver for the primary controller and EIDE driver for the secondary controller.

3. It is very important that the system BIOS recognize and be able to use all of the disk. Some BIOS's automatically do this when you power up the machine but for some you will have to do it yourself. Make sure that BIOS reports the actual disk size correctly (though the number of cylinders and heads may be different).

4. Some old BIOS's do not work with disks larger than 504 MB (1MB = 1 048 576 bytes). You can still use such disks with NEXTSTEP but not as a boot disk. A workaround is to connect this as a slave to a boot disk or on the secondary controller (if available). Or you can update your system BIOS.

5. You should attach ATAPI CD-ROMs to the secondary controller in your system (if available) for better performance.

6. ATAPI is an emerging standard and there are many incompatibilities in implementations. NeXT recommends that you use ATAPI CD-ROMs as single master on a controller or as slave to an IDE disk. Many on-board PCI/VL-bus interfaces do not work very well with ATAPI CD-ROMs.

7. You should not switch between IDE drivers (3 and 4 in the list under heading Overview) and EIDE drivers. Since they get their drive geometries differently you may corrupt the data on your disk.

8. Different BIOS's implement LBA decoding differently. If you have DOS partition on an IDE disk and move it to a different system which also supports LBA your disk might become unreadable or corrupt.

9. NEXTSTEP does not use BIOS for disk access except for booting. Therefore the BIOS must see the disk of the same size as the driver. In other words, if you are using a disk larger than 504 MB you must ensure that the BIOS recognizes all of the disk. You may need to enable "geometry translation" or its equivalent in the BIOS to do this.

10. Caching IDE controllers and add-on IDE controllers with BIOS on them are not supported.

11. Mode sense/select commands do not work for ATAPI devices.

See Also

 1650_Large_IDE_Drive_Problems_with_NEXTSTEP_3.2 
 1824_Installing_Drivers_Overview 
 1839_EIDE_Driver_Overview  (for a list of supported devices)
 1921_3.2_and_3.3_Install_Drivers_Overview 
 1839_EIDE_Beta_Driver_Overview.rtf  (for a list of supported devices)